#include <iostream>
#include <queue>
using namespace std;
using ll=long long;
const int N=1e5+10;


ll a[N];
int main()
{
	int n,k;
	cin>>n>>k;
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&a[i]);
	}
	int left=1,right=1;
	ll ret=0;
	deque<int> q1,q2;
	while(right<=n)
	{
		while(q1.size() && a[q1.back()]<a[right])
		{
			q1.pop_back();
		}
		q1.push_back(right);
		while(q2.size() && a[q2.back()]>a[right])
		{
			q2.pop_back();
		}
		q2.push_back(right);
		
		while(q1.size() && q2.size() && a[q1.front()]-a[q2.front()]>k)
		{
			if(q1.front()==left)
			{
				q1.pop_front();
			}
			if(q2.front()==left)
			{
				q2.pop_front();
			}
			left++;
		}
		if(right-left+1>=2)
		{
			ret++;
		}
		right++;
	}
	cout<<ret<<endl;
	return 0;
}
